/*************************************************
* Title：TinyToolKit
* Author：Opportunity 
* Describe：定义Json功能模板的接口
* CreateTime：2020-04-05 21:49:49
* Version：1.0
* Modify Recorder：
*************************************************/
using System;
using System.Collections;
using System.Collections.Generic;
namespace TinyToolKit
{
    public static partial class TinyUtility
    {
        public static partial class Json
        {
            public interface IJsonTemplate
            {
                /// <summary>
                /// 将对象序列化为JSON字符串
                /// </summary>
                /// <param name="obj">需要序列化的对象</param>
                /// <returns>返回序列化后的JSON字符串</returns>
                string ToJson(object obj);

                /// <summary>
                /// 将Json字符串反序列化为对象
                /// </summary>
                /// <typeparam name="T">对象的类型</typeparam>
                /// <param name="json">需要反序列化的JSON字符串</param>
                /// <returns>返回序列化后的对象</returns>
                T ToObject<T>(string json);

                /// <summary>
                /// 将JSON字符串反序列化为对象
                /// </summary>
                /// <param name="objectType">对象类型</param>
                /// <param name="json">需要反序列化的JSON字符串</param>
                /// <returns>返回序列化后的对象</returns>
                object ToObject(Type objectType, string json);
            }
        }
    }
}
